/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package agenda.beans;

import com.sun.org.apache.xpath.internal.operations.Equals;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.reflect.Array;
import java.util.*;

/**
 *
 * @author Usu??rio
 */
public class Tarefa extends Evento  {

    Date dataConclusao;
    String descricao;
    boolean concluida = false;
    int prioridade;

    public Tarefa() {
        super();
    }

    public Tarefa(Date dataC, String desc, int priori) {
        super();
        this.dataConclusao = dataC;
        this.descricao = desc;
        this.prioridade = priori;

    }

    //marca a tarefa como concluida se ele tiver sido feita
    public boolean isConcluida() {
        concluida = true;
        return concluida;
    }

    public Date getDataConclusao() {
        return dataConclusao;
    }

    public void setDataConclusao(Date dataConclusao) {
        this.dataConclusao = dataConclusao;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public int getPrioridade() {
        return prioridade;
    }

    public void setPrioridade(int prioridade) {
        this.prioridade = prioridade;
    }


    public ArrayList<Tarefa> ListaTarefaPrioridade() throws FileNotFoundException, IOException, ClassNotFoundException{
//        ArrayList<Tarefa> TarefaPrioridade = new ArrayList<Tarefa>();
//
//        ArrayList<Evento> eventos = deserializa();
//
//        for (Evento evento : eventos) {
//            TarefaPrioridade.add((Tarefa)evento);
//        }
//
//        Collections.sort (TarefaPrioridade, new Comparator() {
//            public int compare(Object o1, Object o2) {
//                Tarefa p1 = (Tarefa) o1;
//                Tarefa p2 = (Tarefa) o2;
//                return p1.prioridade < p2.prioridade ? -1 : (p1.prioridade > p2.prioridade ? +1 : 0);
//            }
//        });
//
//        return TarefaPrioridade;


        ArrayList TarefaPrioridade = new ArrayList();

        TarefaPrioridade = deserializa();

        Collections.sort (TarefaPrioridade, new Comparator() {
            public int compare(Object o1, Object o2) {
                Tarefa p1 = (Tarefa) o1;
                Tarefa p2 = (Tarefa) o2;
                return p1.prioridade < p2.prioridade ? -1 : (p1.prioridade > p2.prioridade ? +1 : 0);
            }
        });

        return (ArrayList<Tarefa>) TarefaPrioridade;

    }
}









